// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2018 Scott Shawcroft for Adafruit Industries LLC
//
// SPDX-License-Identifier: MIT

#ifndef MICROPY_INCLUDED_SUPERVISOR_SHARED_EXTERNAL_FLASH_DEVICES_H
#define MICROPY_INCLUDED_SUPERVISOR_SHARED_EXTERNAL_FLASH_DEVICES_H

{% for device in nvms %}
#define {{ device.sku }} { \
        .total_size = {{ device.total_size }}, \
        .start_up_time_us = {{ device.start_up_time_us }}, \
        .manufacturer_id = {{ device.manufacturer_id }}, \
        .memory_type = {{ device.memory_type }}, \
        .capacity = {{ device.capacity }}, \
        .max_clock_speed_mhz = {{ device.max_clock_speed_mhz }}, \
        .quad_enable_bit_mask = {{ device.quad_enable_bit_mask }}, \
        .has_sector_protection = {{ device.has_sector_protection | lower() }}, \
        .supports_fast_read = {{ device.supports_fast_read | lower() }}, \
        .supports_qspi = {{ device["6b_quad_read"] | lower() }}, \
        .supports_qspi_writes = {{ device["32_qspi_write"] | lower() }}, \
        .write_status_register_split = {{ device.write_status_register_split | lower() }}, \
        .single_status_byte = {{ (device.quad_enable_status_byte == 1) | lower() }}, \
        .no_ready_bit = {{ (device.no_ready_bit == 1) | lower() }}, \
        .no_erase_cmd = {{ (device.no_erase_cmd == 1) | lower() }}, \
        .no_reset_cmd = {{ (device.no_reset_cmd == 1) | lower() }}, \
}
{% endfor %}

#endif  // MICROPY_INCLUDED_SUPERVISOR_SHARED_EXTERNAL_FLASH_DEVICES_H
